<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--
        js的作用域
          变量能访问的位置

        1.  全局作用域
          变量在函数外定义，即为全局变量。
          全局变量有 全局作用域: 网页中所有脚本和函数均可使用
        2.  局部作用域
            变量在函数内声明，变量为局部变量，具有局部作用域。
            局部变量：只能在函数内部访问。

     JavaScript 变量生命周期
        JavaScript 变量生命周期在它声明时初始化。
        局部变量在函数执行完毕后销毁。
        全局变量在页面关闭后销毁。
-->

<script>

    // 全局变量 具有全局作用域
    var  b = 3

    function add (){
        //  局部变量  局部作用域  只能在函数内部访问
        var a = 1;
        // var b = 4
        console.log("a=",a)
        console.log("b=",b)
    }
    add()
    // console.log(a)  // a is not defined

    //  定义变量没有加var关键词   window对象    {}
    num1 = 2
    console.log("window.num1",window.num1)

    // 函数内部定义变量没有使用var关键词  window
    function sub(){
        result = 10
    }
    sub()

    console.log("window.result",window.result)
</script>
</body>
</html>